package com.ruoyi.fn.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 账户对象 fin_account
 * 
 * @author ruoyi
 * @date 2025-05-26
 */
public class FinAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 账户ID */
    private Long accountId;

    /** 用户ID（关联sys_user表） */
    @Excel(name = "用户ID", readConverterExp = "关=联sys_user表")
    private Long userId;

    /** 账户名称 */
    @Excel(name = "账户名称")
    private String accountName;

    /** 账户类型 */
    @Excel(name = "账户类型")
    private String accountType;

    /** 银行名称（账户类型为银行卡时填写） */
    @Excel(name = "银行名称", readConverterExp = "账=户类型为银行卡时填写")
    private String bankName;

    /** 银行账号（账户类型为银行卡时填写） */
    @Excel(name = "银行账号", readConverterExp = "账=户类型为银行卡时填写")
    private String accountNum;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal balance;

    public void setAccountId(Long accountId) 
    {
        this.accountId = accountId;
    }

    public Long getAccountId() 
    {
        return accountId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }

    public void setAccountType(String accountType) 
    {
        this.accountType = accountType;
    }

    public String getAccountType() 
    {
        return accountType;
    }

    public void setBankName(String bankName) 
    {
        this.bankName = bankName;
    }

    public String getBankName() 
    {
        return bankName;
    }

    public void setAccountNum(String accountNum) 
    {
        this.accountNum = accountNum;
    }

    public String getAccountNum() 
    {
        return accountNum;
    }

    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("accountId", getAccountId())
            .append("userId", getUserId())
            .append("accountName", getAccountName())
            .append("accountType", getAccountType())
            .append("bankName", getBankName())
            .append("accountNum", getAccountNum())
            .append("balance", getBalance())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
